package com.newlink.building.login.mvp.contract

import com.newlink.building.common_base.base.IModel
import com.newlink.building.common_base.base.IPresenter
import com.newlink.building.common_base.base.IView
import com.newlink.building.common_base.model.bean.HttpResult
import com.newlink.building.common_base.model.bean.NewKitPasswordBean
import com.newlink.building.common_base.model.bean.NewPasswordBean
import io.reactivex.Observable


interface Module_Login_InputNewPwdContract {

    interface View : IView {
        fun setNewPwdSuccess()
        fun setNewPwdFailed(reason: String?)
    }

    interface Presenter : IPresenter<View> {
        //        fun sendNewPwd(pwd1: String, pwd2: String, email: String)
        fun sendNewPwd(bean: NewPasswordBean)
        fun sendNewKitPwd(token: String, bean: NewKitPasswordBean)
    }

    interface Model : IModel {
        //        fun sendNewPwd(pwd1: String, pwd2: String, email: String): Observable<BaseBean>
        fun sendNewPwd(bean: NewPasswordBean): Observable<HttpResult<String?>>
        fun sendNewKitPwd(token: String, bean: NewKitPasswordBean): Observable<HttpResult<String?>>
    }

}